/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package modelo.tabla;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.table.AbstractTableModel;
import modelo.ProcesoAsistencial;
import persistencia.BaseDatosProcesosAsistenciales;

/**
 *
 * @author Zona Media
 */
public class ProcesosAsistencialesTableModel extends AbstractTableModel{
    
    ArrayList<ProcesoAsistencial> procesosAsistenciales;
    ArrayList<String> columnas = new ArrayList<String>();

    public ProcesosAsistencialesTableModel(ArrayList<ProcesoAsistencial> procesosAsistenciales) {
        this.procesosAsistenciales = procesosAsistenciales;
        this.columnas.add("Id Proceso Asistencial");this.columnas.add("Nombre");
    }
    
    @Override
    public int getRowCount() {
        if (procesosAsistenciales.size() == 0) {
            return 0;
        }
        return procesosAsistenciales.size();
    }

    @Override
    public int getColumnCount() {
        return columnas.size();
    }

    @Override
    public String getColumnName(int column) {
        return columnas.get(column);
    }
    
    

    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        switch(columnIndex){
            case 0:
                return procesosAsistenciales.get(rowIndex).getIdProcesoAsistencial();
            case 1:
                return procesosAsistenciales.get(rowIndex).getNombre();
            default:
                return null;
        }
    }

    @Override
    public Class<?> getColumnClass(int colum) {
        if(colum == 0)
           return Integer.class;
       else
           return String.class;
    }

    @Override
    public boolean isCellEditable(int rowIndex, int columnIndex) {
        if(columnIndex == 0)
           return false;
       else
           return true;
    }

    @Override
    public void setValueAt(Object o, int row, int colu) {
        String nom = (String)o;
        if(colu==1){
            procesosAsistenciales.get(row).setNombre(nom);
            try {
                BaseDatosProcesosAsistenciales.modificarProcesoAsistencial(procesosAsistenciales.get(row));
            } catch (SQLException ex) {
                Logger.getLogger(ProcesosAsistencialesTableModel.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }
    
    
    
}
